From cd2b898353c4723b825d05afc83ae628b1b105bd Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 6 Dec 2016 18:01:34 +0100 Subject: [PATCH] wayland: Sync attributes also when drawing with GL MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Probably syncing attributes shouldn't happen when drawing in the first place, but what do I know about Wayland. ¯\_(ツ)_/¯ --- gdk/wayland/gdkglcontext-wayland.c | 2 ++ gdk/wayland/gdkprivate-wayland.h | 1 + gdk/wayland/gdkwindow-wayland.c | 6 ++++++ 3 files changed, 9 insertions(+) diff --git a/gdk/wayland/gdkglcontext-wayland.c b/gdk/wayland/gdkglcontext-wayland.c index 991273c19c..f75e2108cc 100644 --- a/gdk/wayland/gdkglcontext-wayland.c +++ b/gdk/wayland/gdkglcontext-wayland.c @@ -241,6 +241,8 @@ gdk_wayland_gl_context_end_frame (GdkDrawContext *draw_context, } else eglSwapBuffers (display_wayland->egl_display, egl_surface); + + gdk_wayland_window_sync (window); } static void diff --git a/gdk/wayland/gdkprivate-wayland.h b/gdk/wayland/gdkprivate-wayland.h index 481bea78cf..8a8baa7679 100644 --- a/gdk/wayland/gdkprivate-wayland.h +++ b/gdk/wayland/gdkprivate-wayland.h @@ -97,6 +97,7 @@ guint _gdk_wayland_cursor_get_next_image_index (GdkCursor *cursor, void _gdk_wayland_cursor_set_scale (GdkCursor *cursor, guint scale); +void gdk_wayland_window_sync (GdkWindow *window); GdkDragProtocol _gdk_wayland_window_get_drag_protocol (GdkWindow *window, GdkWindow **target); diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c index ec11234872..09387b7510 100644 --- a/gdk/wayland/gdkwindow-wayland.c +++ b/gdk/wayland/gdkwindow-wayland.c @@ -920,6 +920,12 @@ gdk_window_impl_wayland_end_paint (GdkWindow *window) impl->pending_commit = TRUE; } + gdk_wayland_window_sync (window); +} + +void +gdk_wayland_window_sync (GdkWindow *window) +{ gdk_wayland_window_sync_margin (window); gdk_wayland_window_sync_opaque_region (window); gdk_wayland_window_sync_input_region (window); -- 2.30.2